[XEN] Simplify x86_emulate interface.
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Thu, 30 Nov 2006 10:57:28 +0000 (10:57 +0000)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Thu, 30 Nov 2006 10:57:28 +0000 (10:57 +0000)
commit4f24c93f2e0bb7306ddcabdc5d7e13636396e917
treee34c7f40abdd1f6210d6a3934eea5e3aa8fc8c20
parentdc7f685195f2097d99c82bbd1a643024a95331b9
[XEN] Simplify x86_emulate interface.

 - No distinction between 'special' and 'normal' memory accesses.
 - No reliance on caller-supplied %cr2 value
 - Memory operations include segment identifier to allow callers
   to support non-zero-based segments

TODO:
 1. HVM emulations should take into account segment base, limit, and
    attributes.
 2. We ought to obey stack-size attribute on PUSH/POP instructions.
    Could extend the mode input field, or could add an extra call-out
    hook, or perhaps we don't care at all...

Signed-off-by: Keir Fraser <keir@xensource.com>
tools/tests/test_x86_emulator.c
xen/arch/x86/mm.c
xen/arch/x86/mm/shadow/common.c
xen/arch/x86/mm/shadow/multi.c
xen/arch/x86/x86_emulate.c
xen/include/asm-x86/x86_emulate.h